#include <iostream>
#include <functional>
#include <future>
#include "thread_pool.hpp"
using namespace std;

int Add(int x, int y)
{
    return x + y;
}

// using Functor = std::function<void(void)>;
// void print()
// {
//     return;
// }

int main()
{
    // Functor f = std::move(packaged_task<void()>(print));

    ThreadPool tp(1);
    cout << "线程创建成功" << endl;

    for(int i = 0; i < 10; i++)
    {
        future<int> fu = tp.push(Add, 11, i);
        cout << fu.get() << endl;
    }
    tp.stop();

    return 0;
}